package cn.edu.zafu.bigdata.x.wgj.j;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

public class TCPClient {
    public static void main(String[] args) {
        try {
            // 创建Socket并指定要连接的服务端IP地址和端口号
            // 这里假设服务端运行在本地，IP地址为"127.0.0.1"，端口为8888
            // 如果要连接同学的服务端，需将IP地址替换为同学服务端所在机器的实际IP地址
            Socket socket = new Socket("127.0.0.1", 8888);

            // 获取输入流，用于读取服务端回复的消息
            BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            // 获取输出流，用于向服务端发送消息
            PrintWriter out = new PrintWriter(socket.getOutputStream(), true);

            BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in));
            while (true) {
                System.out.print("请输入要发送给服务端的消息（输入'exit'退出）：");
                String message = consoleReader.readLine();
                if ("exit".equals(message)) {
                    break;
                }
                // 向服务端发送消息
                out.println(message);
                System.out.println("已向服务端发送消息： " + message);

                // 读取服务端回复的消息
                String serverReply = in.readLine();
                System.out.println("服务端回复： " + serverReply);
            }

            // 关闭相关资源
            socket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}